package me.firstapp.common.exception;

/**
 * 状态库
 * 
 * @Created by keanu.
 * @Copyright (c) 2016, All Rights Reserved.
 * @website http://firstapp.me
 */
public class StatusHouse {

	// ====================通用异常状态===================================================
	public static StatusObject COMMON_STATUS_OK = new StatusObject("ok", "成功！");
	public static StatusObject COMMON_STATUS_ERROR = new StatusObject("error", "发生未知错误！");
	public static StatusObject COMMON_STATUS_PARAM_REQUIRED_ERROR = new StatusObject("0001", "参数[%s]为必填项");
	public static StatusObject COMMON_STATUS_REQUEST_TIMEOUT = new StatusObject("0002", "服务请求超时!");
	public static StatusObject ACCOUNT_VERIFY_FAILED = new StatusObject("0003", "未授权的请求,错误码：(a000)");
	public static StatusObject COMMON_NO_LOGIN_OR_TIMEOUT = new StatusObject("0004", "未登录或登录超时");
	public static StatusObject COMMON_FILE_MAX_TWO = new StatusObject("0005", "文件的大小不能超过2M");
	// ====================用户相关异常状态===================================================
	public static StatusObject MEMBER_NOT_FOUND = new StatusObject("1001", "用户不存在");
	public static StatusObject MOBILE_IS_EXIST = new StatusObject("1002", "手机号已被注册");
	public static StatusObject EMAIL_IS_EXIST = new StatusObject("1003", "邮箱已被注册");
	public static StatusObject NAME_IS_EXIST = new StatusObject("1004", "用户名已存在");
	public static StatusObject PASSWORD_IS_WRONG = new StatusObject("1005", "密码不正确");
	public static StatusObject CODE_IS_EXIST = new StatusObject("1006", "上一个验证码未过期，请稍后再发");
	public static StatusObject VERIFY_CODE_WRONG = new StatusObject("1007", "验证码不正确");
	public static StatusObject EMAIL_FORMAT_WRONG = new StatusObject("1008", "邮箱格式不正确");
	public static StatusObject MOBILE_FORMAT_WRONG = new StatusObject("1009", "手机号格式不正确");
	public static StatusObject USER_NAME_FORMAT_WRONG = new StatusObject("1010", "昵称的组成只能是字母、汉字、数字、下划线");
	public static StatusObject MEMBER_NOT_USE = new StatusObject("1011", "用户已被禁用");

	// ====================板块相关异常状态===================================================
	public static StatusObject SECTION_NOT_FOUND = new StatusObject("2001", "板块不存在");
	// ====================话题相关异常状态===================================================
	public static StatusObject TOPIC_IS_EXIST = new StatusObject("3001", "话题标题重复");
	public static StatusObject TOPIC_NOT_EXIST = new StatusObject("3002", "话题不存在");
	public static StatusObject TOPIC_ID_MEMBER_ID_ERROR = new StatusObject("3003", "用户id和话题id必须有一个为空");
	public static StatusObject COLLECTION_NOT_FOUND = new StatusObject("3004", "收藏不存在");
	public static StatusObject COLLECTION_IS_FOUND = new StatusObject("3005", "已经收藏");
	public static StatusObject CAN_NOT_SELF_COLLECTION = new StatusObject("3006", "不能收藏自己的话题");

	// ====================店铺相关异常状态===================================================
	public static StatusObject SHOPPING_CART_NOT_EXIST = new StatusObject("4001", "购物车不存在");
	public static StatusObject PRODUCT_NOT_EXIST = new StatusObject("4002", "商品不存在");
	public static StatusObject PRODUCT_COUNTS_AT_LEAST_ONE = new StatusObject("4003", "商品数量至少要为1");
	public static StatusObject PRODUCT_COUNTS_IS_WRONG = new StatusObject("4004", "商品数量有误");
	public static StatusObject CART_PRODUCT_NOT_EXIST = new StatusObject("4005", "购物车中的商品不存在");
	public static StatusObject ORDER_VALUE_AT_LEAST_ZERO = new StatusObject("4006", "订单中的商品总价不能小于0");
	public static StatusObject ADDRESS_NOT_FOUND = new StatusObject("4007", "收货地址不存在");
	public static StatusObject CART_IS_EMPTY = new StatusObject("4008", "购物车中没有商品");
	public static StatusObject ORDER_NOT_EXIST = new StatusObject("4009", "订单不存在");
	public static StatusObject ORDER_PAYED_OR_CANCLED = new StatusObject("4010", "订单已支付或已取消");
	public static StatusObject CATEGORY_NOT_FOUND = new StatusObject("4011", "品类不存在");
	public static StatusObject SKU_NOT_FOUND = new StatusObject("4012", "屬性不存在");
	public static StatusObject PRDT_NAME_IS_EXIST = new StatusObject("4013", "商品名称已存在");
	public static StatusObject PRDT_IS_SALLING = new StatusObject("4014", "商品处于上架状态");
	public static StatusObject PRDT_SKU_REL_IS_EXIST = new StatusObject("4015", "商品属性关系已存在");
	public static StatusObject SKU_NAME_IS_SAME = new StatusObject("4016", "两个属性名相同");
	public static StatusObject PRDT_SKU_REL_IS_NOT_EXIST = new StatusObject("4017", "商品属性关系不存在");
	public static StatusObject ONE_OR_MORE_PRDT_IS_SALLING = new StatusObject("4018", "有商品处于上架状态");
	public static StatusObject ONE_OR_MORE_PRODUCT_NOT_EXIST = new StatusObject("4019", "有商品不存在");
	public static StatusObject PRODUCT_SKU_REL_NOT_SET = new StatusObject("4020", "商品属性关系未维护");
	public static StatusObject PRODUCT_SKU_REL_NOT_SET_DEFAULT = new StatusObject("4021", "未设置默认商品属性关系");
	public static StatusObject ORDER_CAN_NOT_SET_CANCEL = new StatusObject("4022", "订单无法取消");
	public static StatusObject ORDER_CAN_NOT_SET_DISTRIBUTE = new StatusObject("4023", "订单未处于待发货状态");
	public static StatusObject ORDER_IS_NOT_DISTRIBUTE = new StatusObject("4024", "订单未处于已发货状态");
	public static StatusObject CAN_NOT_COMMENT_PRODUCT = new StatusObject("4025", "未购买此商品，无法评论");
	public static StatusObject COMMENT_PRODUCT_ONECE_IN_ORDER = new StatusObject("4026", "每个订单中的商品只能评论一次");
	public static StatusObject AD_NOT_FOUND = new StatusObject("4027", "广告不存在");
	public static StatusObject ORDER_DISTRIBUTE_CALL_NOT_FOUND = new StatusObject("4028", "订单提醒不存在");
	// ====================积分账户相关异常状态===================================================
	public static StatusObject POINT_ACCOUNT_NOT_EXIST = new StatusObject("5001", "积分账户不存在");
	public static StatusObject OLD_PAY_PASSWORD_IS_WRONG = new StatusObject("5002", "旧支付密码错误");
	public static StatusObject CURRENT_VALUE_IS_NOT_ENOUGH = new StatusObject("5003", "积分余额不足");
	public static StatusObject PAY_PASSWORD_IS_WRONG = new StatusObject("5004", "支付密码错误");
	public static StatusObject POINT_ACCOUNT_NOT_NORMAL = new StatusObject("5004", "积分账户异常");
	// ====================积分充值卡相关异常状态===================================================
	public static StatusObject POINT_RECHARGE_CARD_NOT_EXIST = new StatusObject("6001", "积分充值卡不存在");
	public static StatusObject POINT_RECHARGE_CARD_KEY_IS_WRONG = new StatusObject("6002", "充值卡密不正确");
	public static StatusObject POINT_RECHARGE_CARD_IS_END_DATE = new StatusObject("6003", "充值卡不在有效期内");
	public static StatusObject POINT_RECHARGE_CARD_IS_CHARGED = new StatusObject("6004", "充值卡已使用");
	public static StatusObject POINT_RECHARGE_CARD_CAN_NOT_START_USE = new StatusObject("6005", "充值卡未在未启用状态");
	public static StatusObject POINT_RECHARGE_CARD_CAN_NOT_START_SELL = new StatusObject("6006", "充值卡无法设为在售状态");
	public static StatusObject POINT_RECHARGE_CARD_CAN_NOT_STOP_USE = new StatusObject("6007", "充值卡无法设为停用状态");
	public static StatusObject POINT_RECHARGE_CARD_CAN_NOT_SELLED = new StatusObject("6008", "充值卡无法设为已售状态");
	public static StatusObject POINT_RECHARGE_CARD_IS_INVAILED = new StatusObject("6009", "充值卡无效");
	// ====================安全相关异常状态===================================================
	public static StatusObject API_CLIENT_NOT_EXIST = new StatusObject("7001", "ApiClient不存在");
	public static StatusObject EMAIL_CONFIG_NOT_EXIST = new StatusObject("7002", "Email配置不存在");
	public static StatusObject EMAIL_CONFIG_ENABLED_IS_EXIST = new StatusObject("7003", "已存在启用的Email配置");
	// ====================操作员相关异常状态===================================================
	public static StatusObject OPERATOR_NOT_EXIST = new StatusObject("8001", "操作员不存在");
	public static StatusObject OPERATOR_NAME_EXIST = new StatusObject("8002", "操作员账号已存在");
	public static StatusObject OPERATOR_EMAIL_EXIST = new StatusObject("8003", "操作员邮箱已存在");
	public static StatusObject OPERATOR_PASSWORD_WRONG = new StatusObject("8004", "登录密码错误");

}
